package com.handinglian.servicerecord.service;

import com.handinglian.common.dto.CommonPage;
import com.handinglian.servicerecord.dto.MessageDto;
import com.handinglian.servicerecord.dto.MessageIndexDto;
import com.handinglian.servicerecord.entity.MessageRecord;
import com.handinglian.task.dto.TaskUserMessageDto;
import com.handinglian.task.param.MessageParam;

import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.concurrent.Future;

public interface MessageService {
    MessageDto get(Integer id);

    CommonPage<MessageDto> list(Integer userId, String userName, String customerNameOrPhone, String titleOrContent, String startDate, String endDate, String sortField, String sortOrder, Integer pageNum, Integer pageSize);

    int sendSingleMessage(Integer userId, MessageParam messageParam) throws IOException;

    int create(MessageRecord messageRecord);

    Future<List<MessageIndexDto>> countMessageRecord(Date startDate, Date endDate);

    List<TaskUserMessageDto> list(Integer taskUserId);
}
